.promotions-page {
  min-height: 100vh;
  background-color: #f5f5f5;
  padding-bottom: 40rpx;

  .header {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    padding: 60rpx 30rpx 40rpx;
    text-align: center;
    color: white;

    .title {
      font-size: 48rpx;
      font-weight: bold;
      margin-bottom: 16rpx;
      display: block;
    }

    .subtitle {
      font-size: 28rpx;
      opacity: 0.9;
    }
  }

  .promotions-list {
    padding: 30rpx;
    display: flex;
    flex-direction: column;
    gap: 20rpx;

    .promotion-card {
      --nutui-card-border-radius: 20rpx;
      --nutui-card-padding: 0;
      overflow: hidden;
      box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.1);

      .promotion-header {
        padding: 30rpx;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        color: white;

        .promotion-info {
          flex: 1;

          .promotion-title {
            font-size: 32rpx;
            font-weight: bold;
            margin-bottom: 8rpx;
            display: block;
          }

          .promotion-subtitle {
            font-size: 28rpx;
            margin-bottom: 16rpx;
            display: block;
            opacity: 0.9;
          }

          .promotion-discount {
            font-size: 48rpx;
            font-weight: bold;
            display: block;
          }
        }

        .promotion-status {
          margin-left: 20rpx;
        }
      }

      .promotion-content {
        padding: 30rpx;
        background-color: white;

        .promotion-details {
          margin-bottom: 30rpx;

          .detail-item {
            font-size: 26rpx;
            color: #666;
            line-height: 1.6;
            margin-bottom: 12rpx;
            display: block;
          }
        }

        .receive-btn {
          --nutui-button-border-radius: 16rpx;
          --nutui-button-font-size: 30rpx;
          --nutui-button-large-height: 88rpx;
          font-weight: 600;

          &[disabled] {
            opacity: 0.5;
          }
        }
      }
    }
  }

  .tips {
    margin: 30rpx;
    padding: 30rpx;
    background-color: white;
    border-radius: 20rpx;
    box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);

    .tips-title {
      font-size: 32rpx;
      font-weight: bold;
      color: #333;
      margin-bottom: 20rpx;
      display: block;
    }

    .tips-item {
      font-size: 26rpx;
      color: #666;
      line-height: 1.8;
      margin-bottom: 8rpx;
      display: block;
    }
  }
}

// 响应式适配
@media screen and (max-width: 375px) {
  .promotions-page {
    .header {
      padding: 40rpx 20rpx 30rpx;

      .title {
        font-size: 40rpx;
      }

      .subtitle {
        font-size: 26rpx;
      }
    }

    .promotions-list,
    .tips {
      margin-left: 20rpx;
      margin-right: 20rpx;
    }
  }
}